import request from '@/utils/request'

/**
 * 获取所有分类（包含三级）
 * @param {Object} query - 查询参数
 */
export function listCategory(query) {
  return request({
    url: '/category/list',
    method: 'get',
    params: query
  })
}

/**
 * 获取所有一级分类（用于选择器）
 */
export function listCatL1() {
  return request({
    url: '/category/l1',
    method: 'get'
  })
}

/**
 * 获取所有一二级分类（用于联动）
 */
export function listCatL2() {
  return request({
    url: '/category/l2',
    method: 'get'
  })
}

/**
 * 创建分类
 * @param {Object} data - 分类数据
 */
export function createCategory(data) {
  return request({
    url: '/category/create',
    method: 'post',
    data
  })
}

/**
 * 读取指定分类信息
 * @param {Object} data - 请求参数
 */
export function readCategory(data) {
  return request({
    url: '/category/read',
    method: 'get',
    data
  })
}

/**
 * 更新分类信息
 * @param {Object} data - 分类数据
 */
export function updateCategory(data) {
  return request({
    url: '/category/update',
    method: 'post',
    data
  })
}

/**
 * 删除分类
 * @param {Object} data - 分类数据
 */
export function deleteCategory(data) {
  return request({
    url: '/category/delete',
    method: 'post',
    data
  })
}

/**
 * 获取所有一级分类
 */
export function listLevel1Categories() {
  return request({
    url: '/category/level1',
    method: 'get'
  })
}

/**
 * 根据一级分类ID获取二级分类
 * @param {number} pid - 一级分类ID
 */
export function listLevel2Categories(pid) {
  return request({
    url: '/category/level2',
    method: 'get',
    params: { pid }
  })
}

/**
 * 根据二级分类ID获取三级分类
 * @param {number} pid - 二级分类ID
 */
export function listLevel3Categories(pid) {
  return request({
    url: '/category/level3',
    method: 'get',
    params: { pid }
  })
}
